﻿using Onshi.POS.AccesoDatos.Interfaces;
using Onshi.POS.AccesoDatos;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using Onshi.POS.Modelo.Entidades;

namespace Onshi.POS.Repositorios
{
    public class RepositorioConfiguraciones : RepositorioEntidad<Configuracion, Int32, IServicioDatosConfiguraciones>
    {
        #region Constructores

        public RepositorioConfiguraciones()
            : base()
        {
            servicioDatos = (IServicioDatosConfiguraciones)InstanciarServicioDatos();
        }

        #endregion

        #region Metodos

        protected override Configuracion FilaAEntidad(DataRow fila)
        {
            var configuracion = new Configuracion();
            configuracion.Imagen = (Int16)fila["Imagen"];
            configuracion.Iva = (Decimal)fila["Iva"];
            return configuracion;
        }

        public override Configuracion DevolverPorId(Int32 id)
        {
            return Devolver();
        }

        public Configuracion Devolver()
        {
            Configuracion configuracion = null;
            using (var ds = servicioDatos.Configuraciones_Devolver())
                if (ds.Tables[0].Rows.Count != 0)
                {
                    configuracion = FilaAEntidad(ds.Tables[0].Rows[0]);
                    entidades.Add(configuracion);
                }
            return configuracion;
        }

        public void Modificar(Configuracion configuracion)
        {
            servicioDatos.Configuraciones_Modificar(configuracion.Iva, configuracion.Imagen);
        }

        #endregion
    }
}